package c2.advanced.share.play;

import c2.advanced.business.AdvancedBody;
import cate.common.table.attr.AttrExcel;
import cate.common.table.camp.CampAttrExcel;
import cate.common.table.dynins.DynInstanceExcel;
import cate.common.table.fight.buff.BuffExcel;
import cate.common.table.fight.destiny.DestinyExcel;
import cate.common.table.fight.scene.FightSceneExcel;
import cate.common.table.fight.skill.SkillExcel;
import cate.common.table.hallow.HallowExcel;
import cate.common.table.ins.InstanceExcel;
import cate.common.table.item.ItemExcel;
import cate.common.table.item.awakenfairy.AwakenFairyExcel;
import cate.common.table.item.equip.EquipExcel;
import cate.common.table.item.fairy.FairyExcel;
import cate.common.table.item.furniture.FurnitureExcel;
import cate.common.table.item.gem.GemExcel;
import cate.common.table.item.hero.HeroExcel;
import cate.common.table.item.inscription.InscriptionExcel;
import cate.common.table.item.kitchenware.KitchenwareExcel;
import cate.common.table.item.rune.RuneExcel;
import cate.common.table.item.spice.SpiceExcel;
import cate.common.table.item.staruptask.StarUpTaskExcel;
import cate.common.table.item.yoke.YokeExcel;
import cate.common.table.res.achievement.AchievementExcel;
import cate.common.table.res.hero.back.HeroBackExcel;
import cate.game.event.GameEventDispatcher;
import cate.game.fight.hallow.BattleHallowBuilder;
import cate.game.fight.hero.BattleHeroBuilder;
import cate.game.fight.pet.BattlePetBuilder;
import cate.game.play.support.PlayBuildContext;

public class AdvancedPlayBuildContext implements PlayBuildContext {

    private AdvancedBody context;

    public AdvancedPlayBuildContext(AdvancedBody context) {
        this.context = context;
    }

    @Override
    public ItemExcel itemExcel() {
        return context.table.item;
    }

    @Override
    public HeroExcel heroExcel() {
        return context.table.hero;
    }

    @Override
    public EquipExcel equipExcel() {
        return context.table.equip;
    }

    @Override
    public SpiceExcel spiceExcel() {
        return context.table.spice;
    }

    @Override
    public DynInstanceExcel dynInsExcel() {
        return context.table.dynIns;
    }

    @Override
    public InstanceExcel insExcel() {
        return context.table.ins;
    }

    @Override
    public FairyExcel fairyExcel() {
        return context.table.fairy;
    }

    @Override
    public RuneExcel runeExcel() {
        return context.table.rune;
    }

    @Override
    public GemExcel gemExcel() {
        return context.table.gem;
    }

    @Override
    public HallowExcel hallowExcel() {
        return context.table.hallow;
    }

    @Override
    public FurnitureExcel furnitureExcel() {
        return context.table.furniture;
    }

    @Override
    public InscriptionExcel inscriptionExcel() {
        return context.table.inscription;
    }

    @Override
    public YokeExcel yokeExcel() {
        return context.table.yoke;
    }

    @Override
    public AchievementExcel achievementExcel() {
        return context.table.achievement;
    }

    @Override
    public AwakenFairyExcel awakenFairyExcel() {
        return context.table.awakenFairy;
    }

    @Override
    public KitchenwareExcel kitchenwareExcel() {
        return context.table.kitchenware;
    }

    @Override
    public SkillExcel skillExcel() {
        return context.table.skill;
    }

    @Override
    public BuffExcel buffExcel() {
        return context.table.buff;
    }

    @Override
    public CampAttrExcel campAttrExcel() {
        return context.table.campAttr;
    }

    @Override
    public FightSceneExcel sceneExcel() {
        return context.table.scene;
    }

    @Override
    public DestinyExcel destinyExcel() {
        return context.table.destiny;
    }

    @Override
    public HeroBackExcel heroBackExcel() {
        return context.table.heroBack;
    }

    @Override
    public StarUpTaskExcel starUpTaskExcel() {
        return context.table.starUpTask;
    }

    @Override
    public AttrExcel attrExcel() {
        return context.table.attr;
    }

    @Override
    public GameEventDispatcher gameEventDispatcher() {
        return null;
    }

    private BattleHallowBuilder _hallowBuilder;
    public void setHallowBuilder(BattleHallowBuilder v) {
        this._hallowBuilder = v;
    }
    @Override
    public BattleHallowBuilder hallowBuilder() {
        return this._hallowBuilder;
    }

    private BattlePetBuilder _petBuilder;
    public void setPetBuilder(BattlePetBuilder v) {
        this._petBuilder = v;
    }
    @Override
    public BattlePetBuilder petBuilder() {
        return this._petBuilder;
    }

    private BattleHeroBuilder _heroBuilder;
    public void setHeroBuilder(BattleHeroBuilder v) {
        this._heroBuilder = v;
    }
    @Override
    public BattleHeroBuilder heroBuilder() {
        return this._heroBuilder;
    }

}
